package com.oneraku.service.service;

import com.oneraku.service.domain.UserInfo;
import com.baomidou.mybatisplus.extension.service.IService;
import com.oneraku.service.dto.MargePassword;
import com.oneraku.service.dto.VerifyCode;
import com.oneraku.service.utils.R;

/**
 * <p>
 * 用户信息 服务类
 * </p>
 *
 * @author renhui <337375464@qq.com>
 * @since 2020-02-25
 */
public interface IUserInfoService extends IService<UserInfo> {
    /**
     * 前端登录
     * @param userInfo
     * @return
     */
    R login(UserInfo userInfo);

    /**
     * 后端登录
     * @param userInfo
     * @return
     */
    R loginAdmin(UserInfo userInfo);

    /**
     * 用户注册
     * @param userInfo
     * @return
     */
    R register(UserInfo userInfo);
    /**
     * 编辑用户信息
     * @param userInfo
     * @return
     */
    R edit(UserInfo userInfo);

    /**
     * 根据手机号修改密码
     * @param margePasswordByMobile
     * @return
     */
    R margePassword(MargePassword margePasswordByMobile);
    /**
     * 发送验证码
     * @param verifyCode
     * @return
     */
    R verifyCode(VerifyCode verifyCode);
    /**
     * 换绑手机号或邮箱
     * @param margePassword
     * @return
     */
    R changeNumber(MargePassword margePassword);

    /**
     *
     * @return
     */
    R msg();

    /**
     * 用户信息
     * @return
     */
    R info();

    /**
     * 注销用户
     * @return
     */
    R unRegister();
}
